package com.donfu.system.domain.house;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.donfu.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.donfu.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 商品信息对象 house_goods
 *
 * @author donfu
 * @date 2021-12-06
 */
@ApiModel(description = "商品信息对象")
public class HouseGoods implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 主键Id */
    @ApiModelProperty(value = "主键Id")
    private Long id;

    /** 商品名称 */
    @ApiModelProperty(value = "商品名称")
    @Excel(name = "商品名称")
    private String name;

    /** 商品所属产品分类Id */
    @ApiModelProperty(value = "商品所属产品分类Id")
    @Excel(name = "商品所属产品分类Id")
    private Long producyTypeId;

    /** 是否置顶首页 1是 0否 */
    @ApiModelProperty(value = "是否置顶首页 1是 0否")
    @Excel(name = "是否置顶首页 1是 0否")
    private Integer isIntdex;

    /** 商品宣传图片列表，采用JSON数组格式 */
    @ApiModelProperty(value = "商品宣传图片列表，采用JSON数组格式")
    @Excel(name = "商品宣传图片列表，采用JSON数组格式")
    private String bannerList;

    /** 商品起步价格 */
    @ApiModelProperty(value = "商品起步价格")
    @Excel(name = "商品起步价格")
    private BigDecimal startPrice;

    /** 发货时间文案 */
    @ApiModelProperty(value = "发货时间文案")
    @Excel(name = "发货时间文案")
    private String noticePext;

    /** 商品详细介绍，是富文本格式 */
    @ApiModelProperty(value = "商品详细介绍，是富文本格式")
    @Excel(name = "商品详细介绍，是富文本格式")
    private String detail;

    /** 相关商品id数组，json格式字符串 */
    @ApiModelProperty(value = "相关商品id数组，json格式字符串")
    @Excel(name = "相关商品id数组，json格式字符串")
    private String cpGoodsIds;

    /** 排序 */
    @ApiModelProperty(value = "排序")
    @Excel(name = "排序")
    private Integer sort;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /** 备用字段 */
    @ApiModelProperty(value = "备用字段")
    @Excel(name = "备用字段")
    private String standby;

    /** 是否上架， 0下架，1上架 */
    @ApiModelProperty(value = "是否上架， 0下架，1上架")
    @Excel(name = "是否上架， 0下架，1上架")
    private Integer saleable;

    /** 商品的特有规格参数及可选值信息，json格式 */
    @ApiModelProperty(value = "商品的特有规格参数及可选值信息，json格式")
    @Excel(name = "商品的特有规格参数及可选值信息，json格式")
    private String specialSpec;

    public String getCpGoodsIds() {
        return cpGoodsIds;
    }

    public void setCpGoodsIds(String cpGoodsIds) {
        this.cpGoodsIds = cpGoodsIds;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setProducyTypeId(Long producyTypeId)
    {
        this.producyTypeId = producyTypeId;
    }

    public Long getProducyTypeId()
    {
        return producyTypeId;
    }
    public void setIsIntdex(Integer isIntdex)
    {
        this.isIntdex = isIntdex;
    }

    public Integer getIsIntdex()
    {
        return isIntdex;
    }
    public void setBannerList(String bannerList)
    {
        this.bannerList = bannerList;
    }

    public String getBannerList()
    {
        return bannerList;
    }
    public void setStartPrice(BigDecimal startPrice)
    {
        this.startPrice = startPrice;
    }

    public BigDecimal getStartPrice()
    {
        return startPrice;
    }
    public void setNoticePext(String noticePext)
    {
        this.noticePext = noticePext;
    }

    public String getNoticePext()
    {
        return noticePext;
    }
    public void setDetail(String detail)
    {
        this.detail = detail;
    }

    public String getDetail()
    {
        return detail;
    }

    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }
    public void setStandby(String standby)
    {
        this.standby = standby;
    }

    public String getStandby()
    {
        return standby;
    }
    public void setSaleable(Integer saleable)
    {
        this.saleable = saleable;
    }

    public Integer getSaleable()
    {
        return saleable;
    }
    public void setSpecialSpec(String specialSpec)
    {
        this.specialSpec = specialSpec;
    }

    public String getSpecialSpec()
    {
        return specialSpec;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("producyTypeId", getProducyTypeId())
                .append("isIntdex", getIsIntdex())
                .append("bannerList", getBannerList())
                .append("startPrice", getStartPrice())
                .append("noticePext", getNoticePext())
                .append("cpGoodsIds", getCpGoodsIds())
                .append("detail", getDetail())
                .append("sort", getSort())
                .append("createDate", getCreateDate())
                .append("updateDate", getUpdateDate())
                .append("standby", getStandby())
                .append("saleable", getSaleable())
                .append("specialSpec", getSpecialSpec())
                .toString();
    }
}

